package com.sg.dto.biz.framework.res;

import com.sg.dto.biz.framework.common.OrgGradeScopeDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @desc QueryPositionDetailRespDto
 * @使用场景
 */
@Data
public class QueryPositionDetailRespDto extends BaseDto implements Serializable {

    /**
     * 职务ID
     */
    @ApiModelProperty("职务ID")
    private String positionId;

    /**
     * 冗余职务名称
     */
    @ApiModelProperty("冗余职务名称")
    private String positionIdName;

    /**
     * 职务性质 PRINCIPAL:正职 DEPUTY:副职 MEMBER:成员
     */
    @ApiModelProperty(" 职务性质")
    private String positionType;

    /**
     * 职务编号
     */
    @ApiModelProperty("职务编号")
    private String positionNumber;

    /**
     * 关联职务名称ID
     */
    @ApiModelProperty("关联职务名称ID")
    private String positionIdNameId;

    /**
     * 职务级别ID
     */
    @ApiModelProperty("职务级别ID")
    private String positionGradeId;

    /**
     * 职务级别名称
     */
    @ApiModelProperty("职务级别名称")
    private String positionGradeName;

    /**
     * 关联岗位ID
     */
    @ApiModelProperty("关联岗位ID")
    private String stationId;

    /**
     * 岗位名称
     */
    @ApiModelProperty("岗位名称")
    private String stationName;

    /**
     * 职位ID
     */
    @ApiModelProperty("职位ID")
    private String postId;

    /**
     * 职位名称
     */
    @ApiModelProperty("职位名称")
    private String postName;

    /**
     * 职务职责概述
     */
    @ApiModelProperty("职务职责概述")
    private String positionDutyDesc;

    /**
     * 职务目标概述
     */
    @ApiModelProperty("职务目标概述")
    private String positionTargetDesc;

    /**
     * 职务类别字典ID
     */
    @ApiModelProperty("职务类别字典ID")
    private String typeDictionaryId;

    /**
     * 类型字典名称
     */
    @ApiModelProperty("类型字典名称")
    private String typeDictionaryName;

    /**
     * 岗位类型ID
     */
    @ApiModelProperty("岗位类型ID")
    private String stationTypeId;

    /**
     * 岗位类型名称
     */
    @ApiModelProperty("岗位类型名称")
    private String stationTypeName;

    /**
     * 是否可用于分管领导职务 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否可用于分管领导职务")
    private String isOrgPosition;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 操作人就职记录ID
     */
    @ApiModelProperty("操作人就职记录ID")
    private String operationInductionId;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;

    @ApiModelProperty("等级范围列表")
    private List<OrgGradeScopeDto> orgGradeScopeList = new ArrayList<>();


}
   